import logging
import os
import time

logpath=os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),"log")
if not os.path.exists(logpath):
    os.makedirs(logpath)

class Logger:
    def __init__(self):
        #定义日志文件名
        self.logname=os.path.join(logpath,"{}.log".format(time.strftime("%Y-%m-%d")))
        #定义一个日志容器
        self.logger=logging.getLogger("log")
        self.logger.setLevel(logging.DEBUG)
        self.formater=logging.Formatter("[%(asctime)s][%(filename)s %(lineno)d][%(levelname)s]:%(message)s")
        #创建日志处理器用来存放日志文件
        self.filelogger=logging.FileHandler(self.logname,mode="a",encoding="UTF-8")
        self.filelogger.setLevel(logging.DEBUG)
        self.filelogger.setFormatter(self.formater)

        #创建日志处理器，在控制台打印
        self.console=logging.StreamHandler()
        self.console.setLevel(logging.DEBUG)
        self.console.setFormatter(self.formater)
        #将日志输出渠道添加到日志收集器中
        self.logger.addHandler(self.filelogger)
        self.logger.addHandler(self.console)


logger=Logger().logger

if __name__ == '__main__':
    logger.debug("打印debug")
    logger.info("打印info")
    logger.warning("打印warning")
    logger.error("打印error")